package com.muyu.system.domain;


import com.muyu.common.core.annotation.Excel;
import com.muyu.common.core.web.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;

/**
 * 订单项信息对象 danmo_order_item
 * 
 * @author yangle
 * @date 2025-01-23
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DanmoOrderItem extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;

    /** order_id */
    @Excel(name = "order_id")
    private Long orderId;

    /** order_sn */
    @Excel(name = "order_sn")
    private String orderSn;

    /** spu_id */
    @Excel(name = "spu_id")
    private Long spuId;

    /** spu_name */
    @Excel(name = "spu_name")
    private String spuName;

    /** spu_pic */
    @Excel(name = "spu_pic")
    private String spuPic;

    /** 品牌 */
    @Excel(name = "品牌")
    private String spuBrand;

    /** 商品分类id */
    @Excel(name = "商品分类id")
    private Long categoryId;

    /** 商品sku编号 */
    @Excel(name = "商品sku编号")
    private Long skuId;

    /** 商品sku名字 */
    @Excel(name = "商品sku名字")
    private String skuName;

    /** 商品sku图片 */
    @Excel(name = "商品sku图片")
    private String skuPic;

    /** 商品sku价格 */
    @Excel(name = "商品sku价格")
    private BigDecimal skuPrice;

    /** 商品购买的数量 */
    @Excel(name = "商品购买的数量")
    private Long skuQuantity;

    /** 商品销售属性组合（JSON） */
    @Excel(name = "商品销售属性组合", readConverterExp = "J=SON")
    private String skuAttrsVals;

    /** 商品促销分解金额 */
    @Excel(name = "商品促销分解金额")
    private BigDecimal promotionAmount;

    /** 优惠券优惠分解金额 */
    @Excel(name = "优惠券优惠分解金额")
    private BigDecimal couponAmount;

    /** 积分优惠分解金额 */
    @Excel(name = "积分优惠分解金额")
    private BigDecimal integrationAmount;

    /** 该商品经过优惠后的分解金额 */
    @Excel(name = "该商品经过优惠后的分解金额")
    private BigDecimal realAmount;

    /** 赠送积分 */
    @Excel(name = "赠送积分")
    private Long giftIntegration;

    /** 赠送成长值 */
    @Excel(name = "赠送成长值")
    private Long giftGrowth;




    @Override
    public String toString() {
        return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("orderSn", getOrderSn())
            .append("spuId", getSpuId())
            .append("spuName", getSpuName())
            .append("spuPic", getSpuPic())
            .append("spuBrand", getSpuBrand())
            .append("categoryId", getCategoryId())
            .append("skuId", getSkuId())
            .append("skuName", getSkuName())
            .append("skuPic", getSkuPic())
            .append("skuPrice", getSkuPrice())
            .append("skuQuantity", getSkuQuantity())
            .append("skuAttrsVals", getSkuAttrsVals())
            .append("promotionAmount", getPromotionAmount())
            .append("couponAmount", getCouponAmount())
            .append("integrationAmount", getIntegrationAmount())
            .append("realAmount", getRealAmount())
            .append("giftIntegration", getGiftIntegration())
            .append("giftGrowth", getGiftGrowth())
            .toString();
    }
}
